--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 2abc5e7ad7ee287099673b734b15fd214cdfc95d
Parents : 864c17c
Author : Sudo-Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-01-01T16:36:59-06:00
feat(assets): add logo image and update image references in App.vue and AuthPage.vue to use dynamic source
Changes
4 files changed, 9 insertions(+), 2 deletions(-)
Diff
diff --git a/meshchatx/src/frontend/assets/images/logo.png b/meshchatx/src/frontend/assets/images/logo.png
new file mode 100644
index 00000000..05ae1526
Binary files /dev/null and b/meshchatx/src/frontend/assets/images/logo.png differ
diff --git a/meshchatx/src/frontend/components/App.vue b/meshchatx/src/frontend/components/App.vue
index 3f103642..74bb2764 100644
--- a/meshchatx/src/frontend/components/App.vue
+++ b/meshchatx/src/frontend/components/App.vue
@@ -33,7 +33,7 @@
<div
class="hidden sm:flex my-auto w-12 h-12 mr-2 rounded-xl overflow-hidden bg-white/70 dark:bg-white/10 border border-gray-200 dark:border-zinc-700 shadow-inner"
>
- <img class="w-12 h-12 object-contain p-1.5" src="/assets/images/logo.png" />
+ <img class="w-12 h-12 object-contain p-1.5" :src="logoUrl" />
</div>
<div class="my-auto">
<div
@@ -414,6 +414,7 @@ import MaterialDesignIcon from "./MaterialDesignIcon.vue";
import NotificationBell from "./NotificationBell.vue";
import LanguageSelector from "./LanguageSelector.vue";
import CallOverlay from "./call/CallOverlay.vue";
+import logoUrl from "../assets/images/logo.png";
export default {
name: "App",
@@ -428,6 +429,7 @@ export default {
},
data() {
return {
+ logoUrl,
reloadInterval: null,
appInfoInterval: null,
diff --git a/meshchatx/src/frontend/components/auth/AuthPage.vue b/meshchatx/src/frontend/components/auth/AuthPage.vue
index f8250ac4..98c5843e 100644
--- a/meshchatx/src/frontend/components/auth/AuthPage.vue
+++ b/meshchatx/src/frontend/components/auth/AuthPage.vue
@@ -8,7 +8,7 @@
<div
class="w-16 h-16 mx-auto mb-4 rounded-2xl overflow-hidden bg-white/70 dark:bg-white/10 border border-gray-200 dark:border-zinc-700 shadow-inner flex items-center justify-center"
>
- <img class="w-16 h-16 object-contain p-2" src="/assets/images/logo.png" />
+ <img class="w-16 h-16 object-contain p-2" :src="logoUrl" />
</div>
<h1 class="text-2xl font-bold text-gray-900 dark:text-zinc-100 mb-2">
{{ isSetup ? "Initial Setup" : "Authentication Required" }}
@@ -83,10 +83,13 @@
</template>
<script>
+import logoUrl from "../../assets/images/logo.png";
+
export default {
name: "AuthPage",
data() {
return {
+ logoUrl,
password: "",
confirmPassword: "",
error: "",
diff --git a/vite.config.js b/vite.config.js
index 7c846328..57368943 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -8,6 +8,8 @@ export default {
// vite app is loaded from /meshchatx/src/frontend
root: path.join(__dirname, "meshchatx", "src", "frontend"),
+ publicDir: path.join(__dirname, "meshchatx", "src", "frontend", "public"),
+
build: {
minify: "terser",
terserOptions: {
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────